lets_plot.geom_bin2d

lets_plot.geom_bin2d(mapping=None, *, data=None, stat=None, position=None, show_legend=None, sampling=None, tooltips=None, bins=None, binwidth=None, drop=None, **other_args)

Displays a 1d distribution by dividing variable mapped to x axis into bins and counting the number of observations in each bin.

Parameters
  • mapping (FeatureSpec) – Set of aesthetic mappings created by aes() function. Aesthetic mappings describe the way that variables in the data are mapped to plot “aesthetics”.

  • data (dict or DataFrame) – The data to be displayed in this layer. If None, the default, the data is inherited from the plot data as specified in the call to ggplot.

  • stat (str, default=’bin2d’) – The statistical transformation to use on the data for this layer, as a string.

  • position (str or FeatureSpec, default=’stack’) – Position adjustment, either as a string (‘identity’, ‘stack’, ‘dodge’, …), or the result of a call to a position adjustment function.

  • show_legend (bool, default=True) – False - do not show legend for this layer.

  • sampling (FeatureSpec) – Result of the call to the sampling_xxx() function. Value None (or ‘none’) will disable sampling for this layer.

  • tooltips (layer_tooltips) – Result of the call to the layer_tooltips() function. Specifies appearance, style and content.

  • bins (list of int, default=[30, 30]) – Number of bins in both directions, vertical and horizontal. Overridden by binwidth.

  • binwidth (list of float) – The width of the bins in both directions, vertical and horizontal. Overrides bins. The default is to use bin widths that cover the entire range of the data.

  • drop (bool, default=True) – Specifies whether to remove all bins with 0 counts.

  • other_args – Other arguments passed on to the layer. These are often aesthetics settings used to set an aesthetic to a fixed value, like color=’red’, fill=’blue’, size=3 or shape=21. They may also be parameters to the paired geom/stat.

Returns

Geom object specification.

Return type

LayerSpec

Note

geom_bin2d() applies rectangular grid to the plane then counts observation in each cell of the grid (bin). Uses geom_tile() to display counts as a tile fill-color.

Computed variables:

  • ..count.. : number of points with coordinates in the same bin.

geom_bin2d() understands the following aesthetics mappings:

  • x : x-axis value.

  • y : y-axis value.

  • alpha : transparency level of a layer. Understands numbers between 0 and 1.

  • color (colour) : color of a geometry lines. Can be continuous or discrete. For continuous value this will be a color gradient between two colors.

  • fill : color of geometry filling, default: ‘..count..’. Alternatively: ‘..density..’.

  • size : lines width.

  • weight : used by ‘bin’ stat to compute weighted sum instead of simple count.

Examples

1
2
3
4
5
6
7
8
import numpy as np
from lets_plot import *
LetsPlot.setup_html()
np.random.seed(42)
mean = np.zeros(2)
cov = np.eye(2)
x, y = np.random.multivariate_normal(mean, cov, 1000).T
ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + geom_bin2d()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import numpy as np
from lets_plot import *
LetsPlot.setup_html()
np.random.seed(42)
n = 5000
x = np.random.uniform(-2, 2, size=n)
y = np.random.normal(scale=.5, size=n)
ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \
    geom_bin2d(aes(fill='..density..'), binwidth=[.25, .24], \
               tooltips=layer_tooltips().format('@x', '.2f')
                       .format('@y', '.2f').line('(@x, @y)')
                       .line('count|@..count..')
                       .format('@..density..', '.3f')
                       .line('density|@..density..')) + \
    scale_fill_gradient(low='black', high='red')

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
import numpy as np
from lets_plot import *
LetsPlot.setup_html()
np.random.seed(42)
mean = np.zeros(2)
cov = [[1, .5],
       [.5, 1]]
x, y = np.random.multivariate_normal(mean, cov, 500).T
ggplot({'x': x, 'y': y}, aes(x='x', y='y')) + \
    geom_bin2d(aes(alpha='..count..'), bins=[20, 20], \
               color='white', fill='darkgreen') + \
    geom_point(size=1.5, shape=21, color='white', \
               fill='darkgreen') + \
    ggsize(600, 450)